package com.jichangxiu.server.platform.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jichangxiu.server.platform.entity.po.PlatformConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * PlatformConfigMapper:
 *
 * @author Jcx
 * @create 2023-03-08 21:17
 */
@Mapper
public interface PlatformConfigMapper extends BaseMapper<PlatformConfig> {

    /**
     * 分页查询系统配置列表
     *
     * @param platformConfig 系统配置信息
     * @param page           分页对象
     * @return 配置列表
     */
    public List<PlatformConfig> pageList(@Param("platformConfig") PlatformConfig platformConfig, @Param("page") Page<PlatformConfig> page);

    /**
     * 跨平台获取平台配置参数值
     *
     * @param configCode 配置标识
     * @param configKey  配置键名
     * @return 配置键值
     */
    @InterceptorIgnore(tenantLine = "true")
    public String getConfigValue(@Param("tenantId") String tenantId, @Param("configCode") String configCode, @Param("configKey") String configKey);

    /**
     * 跨平台获取平台配置参数值
     *
     * @param tenantId       租户ID
     * @param configCodeList 配置标识
     * @param configKeyList  配置键名
     * @return 配置键值
     */
    @InterceptorIgnore(tenantLine = "true")
    public List<PlatformConfig> getConfigList(@Param("tenantId") String tenantId, @Param("configCodeList") List<String> configCodeList, @Param("configKeyList") List<String> configKeyList);

}
